草庐IT

php - 正则表达式 str_replace

全部标签

JavaScript 正则表达式替换 - 但只是匹配字符串的一部分?

我有以下替换功能myString.replace(/\s\w(?=\s)/,"$1\xA0");目的是采用单字母单词(例如介词)并在其后添加一个不间断空格,而不是标准空格。但是上面的$1变量对我不起作用。它插入文本“$1”而不是原始匹配字符串的一部分+nbsp。观察到的行为的原因是什么?还有其他方法可以实现吗? 最佳答案 $1不起作用,因为您没有任何捕获子组。正则表达式应该类似于/\b(\w+)\s+/。 关于JavaScript正则表达式替换-但只是匹配字符串的一部分?,我们在Stac

javascript - JS正则表达式替换数字

尝试使用JS.replace将整数替换为字符串来理解一些正则表达式。例如,字符串可以是:varstring='image[testing][hello][0][welcome]';我想用另一个值替换“0”。我最初使用的是:string.replace(/\[\d\]/g,'[newvalue]');但是当我们开始替换两位数或更多(12、200、3204,你明白我的意思)时,它就停止正常工作了。也不确定如何让它按照我想要的方式运行。提前致谢。非常感谢。 最佳答案 您需要指定多个数字:string.replace(/\[\d+\]/g,

javascript - 为什么这个正则表达式会使 Chrome 挂起?

尝试将其输入Chrome的JS控制台。这是我发现的用于检查某些内容是否为有效URL的正则表达式:"http://www.kvraudio.com/".match(/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w\.-]*)*\/?$/);返回一个匹配项,这是应该的。现在试试这个:"tp:/www.kvraudio.com/forum/viewtopic.php".match(/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w\.-]*)*\/?$/);返回Null,因为它不匹配。现

javascript - 允许法语文本和英语文本的正则表达式?

我想使用一个允许的正则表达式没有特殊字符的英文文本。没有特殊字符的法语文本。它将始终禁止在两种语言中使用特殊字符,如@、#、%等。我试过下面的代码:if(this.value.match(/[^a-zA-Z0-9]/g)){this.value=this.value.replace(/[^a-zA-Z0-9]/g,'');}它适用于英文文本,但问题是当我提供像éléphant这样的法文文本时,它会将法文字符视为特殊字符,并删除法文字符。所以éléphant变成了lphant。有没有办法允许正则表达式中包含法语字符?非常感谢。 最佳答案

JavaScript 正则表达式 - 空参数使正则表达式匹配

我正在编写一个用于JavaScript的正则表达式。在测试时,我遇到了一些奇怪的行为并将其归结为以下几点:/^[a-z]/.test("abc");//我假设最后一个案例将返回false,因为它不符合正则表达式(值为null,因此不以范围内的字符开头)。那么,谁能向我解释为什么情况并非如此?如果我在C#中做同样的测试:varregex=newRegex("^[a-z]");varres=regex.IsMatch(null);//...我得到一个ArgumentNullException,这是有道理的。所以,我想在JavaScript中测试正则表达式时,您必须手动执行null检查吗?我

javascript - 如何在不使用 eval 或构造函数的情况下用 JavaScript 编写算术表达式解析器?

给定一个字符串:varstr1="25*5+5*7";如果不使用eval或JavaScript中的构造函数,我将如何编写一个名为“output”的函数来接收字符串并输出字符串的算术值,在这个案例是160? 最佳答案 这是递归解析后的完整优先表达式求值器我在对OP问题的评论中链接到的想法。为此,我首先为要处理的表达式编写了一个简单的BNF语法:sum=product|sum"+"product|sum"-"product;product=term|product"*"term|product"/"term;term="-"term|"

javascript - 用破折号替换空格的正则表达式

我想弄清楚我需要什么正则表达式来取值并用破折号替换空格(在Javascript中)?也就是说,如果我有北美,它会返回给我北美?我可以做类似varfoo=bar.replace('','-')的事情吗? 最佳答案 最好用:varstring="findthisandfindthat".replace(/find/g,"found");替换所有出现的地方。 关于javascript-用破折号替换空格的正则表达式,我们在StackOverflow上找到一个类似的问题:

javascript - 正则表达式缺少括号

我认为Regex不能用于检测缺少的括号(因为无法计算对数)的想法是否正确?使用JavaScript我有大约一千个字符串已被chop并需要手动编辑。我希望能够使用代码将此列表缩小到需要注意的列表。字符串可以被认为是以下形式:(这个可以,不需要注意)这也[好]这很糟糕(需要编辑这[(也)不好这是}不好这个字符串没有任何类型的括号,但也必须考虑如果这不可能,那么我只需要编写一个函数来查找括号对。谢谢 最佳答案 functionisFine(str){return/[(){}\[\]]/.test(str)&&(str.match(/\(/

javascript - 正则表达式,选择其他文本中的一部分

我对下一个任务有点无能为力。我希望在"之间选择一个文本,它在标签内但不在标签外,即一个选择在另一个选择中。我有下一个标签:并且我只想选择位于"和标签之间的文本。应该被选中"没有被选中"也被选中"|>"没有被选中"我想一想(\)但它不起作用。 最佳答案 我已经使用两个正则表达式正确匹配了它。varinput='c"d"ef"j"kl';varoutput=input.match(//g).map(function(x){returnx.match(/"(.*?)"/g)})alert(output)如您所见,正确匹配“b”、“g”、“

JavaScript replace() 方法美元符号

我有一个像aman/gupta这样的字符串,我想将它替换为aman$$gupta,为此我正在使用JavaScriptreplace方法如下:leta="aman/gupta"a=a.replace("/","$")console.log(a)//'aman$gupta'a="aman/gupta"a=a.replace("/","$$")console.log(a)//'aman$gupta'a="aman/gupta"a=a.replace("/","$$$")console.log(a)//'aman$$gupta'为什么第一种情况和第二种情况相同,而当我使用$$$而不是$$时却得